Hoofdstuk 2.1 Hoofdstuk 2.2 Hoofdstuk 2.3 Hoofdstuk 2.4 Hoofdstuk 2.5 Hoofdstuk 2.6 Hoofdstuk 3.1 Hoofdstuk 3.2 Hoofdstuk 3.3 Hoofdstuk 3.4 Hoofdstuk 3.5
1 - | Grafische voorstelling |
2 - | Entiteittypen en relatietypen |
3 - | Identificatie |
4 - | Tekstuele beschrijving |
1 - Grafische voorstelling ![]() ![]() ![]() |
© Instruct |
De samenhang tussen entiteiten geven we schematisch weer in een Entity Relationship Diagram, afgekort tot ERD. ERD’s behoren tot de informatieanalysemethode ERM: Entity Relationship Modeling. Een ERD bevat de entiteittypen, relatietypen en cardinaliteiten. Op deze wijze krijgen we een grafisch informatiemodel en dat is veel duidelijker dan een beschrijving van de diverse objecten met hun kenmerken en relaties. Voor de weergave van al deze elementen bestaan natuurlijk afspraken. Wanneer iedereen zich daaraan houdt, kan een grafisch model makkelijk geïnterpreteerd worden.
|
||||
![]() Je kunt Dia downloaden van de Dia-homepage: www.gnome.org |
We gaan nu na welke regels er gelden voor de notatiewijze binnen ERD’s. |
2 - Entiteittypen en relatietypen ![]() ![]() ![]() |
© Instruct |
Entiteittypen | ||||||||
Een entiteittype wordt grafisch weergegeven door middel van een rechthoek. Het entiteittype Student ziet er als volgt uit:
Het entiteittype Klas wordt weergegeven als:
|
||||||||
Relatietypen | ||||||||
Een relatietype geven we weer met behulp van een ruitvorm. De ruit vormt de verbinding tussen de entiteittypen die een relatie met elkaar hebben. Hierna zie je het relatietype ‘zit in’ tussen de entiteittypen Student en Klas.
Het relatietype ‘leent’ tussen de entiteittypen Student en Boek is afgebeeld in de volgende figuur.
Deze twee figuren kunnen worden samengevoegd tot één figuur, met als resultaat:
Je ziet dan dat het entiteittype Student twee relatietypen heeft. Door op deze wijze verder te gaan krijg je een grafisch informatiemodel waarin meer entiteittypen en relatietypen getoond kunnen worden. Zo’n model laat binnen een totale organisatie zien hoe alle gegevens met elkaar samenhangen. |
3 - Identificatie ![]() ![]() ![]() |
© Instruct |
Als er meer studenten Petra heten terwijl je op zoek bent naar juist die ene, heb je een probleempje. Hoe maak je duidelijk welke Petra je bedoelt? Wat hier speelt wordt in de databasewereld identificatie genoemd. Hoe zorg je ervoor dat als je binnen een database naar één entiteit vraagt, je er met zekerheid ook maar één krijgt? Dit bereik je door aan elke entiteit een attribuutwaarde toe te voegen die uniek is voor die entiteit.
|
|||
![]() |
Studentnummer Zo biedt het studentnummer een mogelijkheid om de gegevens van één bepaalde student bij elkaar te houden en ze niet te verwisselen met die van een andere student. De studentnaam biedt hiervoor geen garantie, want er kunnen best twee studenten met dezelfde achternaam zijn. Ook de achternaam in combinatie met de geboortedatum geeft geen garantie. Twee studenten met dezelfde achternaam kunnen op dezelfde dag geboren zijn: een tweeling. Een methode als ERM vereist dat er bij elk entiteittype wordt aangegeven welk attribuuttype de identificatie van dat entiteittype is. Een bekend voorbeeld van identificatie is het burgerservicenummer, dat aan elke Nederlander is toegekend en waarvan er geen twee hetzelfde zijn. En op school heeft elke leerling een uniek leerlingnummer. Een identificatie hoeft niet per se uit één attribuuttype te bestaan. Je kunt ervoor kiezen om twee of meer attribuuttypen samen de identificatie van een entiteittype te laten vormen.
|
4 - Tekstuele beschrijving ![]() ![]() ![]() |
© Instruct |
In het informatiemodel wordt ook gebruik gemaakt van een tekstuele beschrijving. Deze is bedoeld om aan te geven welke attribuuttypen de identificerende attribuuttypen zijn. Verder wordt in deze beschrijving opgenomen welke attribuuttypen deel uitmaken van het betreffende entiteittype.
De tekstuele beschrijving bestaat per entiteittype uit drie groepen:
|
||||||||||||||||||||
![]() |
Entiteittype Student
Je ziet dat het identificerende attribuuttype ‘studentnummer’ vermeld wordt na het woord identifier, maar ook voorkomt bij de beschrijving. Dat is niet altijd het geval.
|
|||||||||||||||||||
![]() |
Entiteittype Klas
|